import { ipcMain } from 'electron';

import EnvIpcService from './env-ipc-service';
import FileSystemIpcService from './file-system-ipc-service';
import ProcessIpcService from './process-ipc-service';

export default class MainIpcService {
  /**
   * Sets up all related ipc message listeners.
   */
  static setup(): void {
    EnvIpcService.setup();
    FileSystemIpcService.setup();
    ProcessIpcService.setup();
  }

  /**
   * Removes all ipc listeners.
   */
  static removeAllListeners(): void {
    ipcMain.removeAllListeners();
  }
}
